﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;
using System.Runtime.Serialization;

namespace nms.gaming.progressive.model
{
    /// <summary>
    /// </summary>
    [Serializable]
    [DataContract(Namespace = "nms.gaming", Name = "action")]
    [KnownType(typeof(GamingTransaction))]
    [KnownType(typeof(JackpotFunds))]
    public class GamingAction
    {
        /// <summary>
        /// The action id
        /// </summary>
        [DataMember(Order = 0, Name = "id", IsRequired = true)]
        public string Id { get; set; }

        /// <summary>
        /// The action name
        /// </summary>
        [DataMember(Order = 1, Name = "name", IsRequired = false)]
        public string Name { get; set; }

        /// <summary>
        /// The action type
        /// </summary>
        [DataMember(Order = 2, Name = "type", IsRequired = true)]
        public string Type { get; set; }

        /// <summary>
        /// The action data
        /// </summary>
        [DataMember(Order = 3, Name = "data", IsRequired = false)]
        public object data { get; set; }

        /// <summary>
        /// The action date time
        /// </summary>
        [DataMember(Order = 4, Name = "timestamp", IsRequired = true)]
        public DateTime DateTime { get; set; }

        [DataMember(Order = 5, Name = "timestring", IsRequired = true)]
        public String DateTimeString
        { get; set; }

    }
}
